<html>
<head><meta charset="utf-8"><title>impl-dfs-for-bitdenotation · t-compiler/wg-nll · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/index.html">t-compiler/wg-nll</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html">impl-dfs-for-bitdenotation</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="133677299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133677299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133677299">(Sep 10 2018 at 17:47)</a>:</h4>
<p>@hey <span class="user-mention" data-user-id="116009">@nikomatsakis</span></p>



<a name="133677306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133677306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133677306">(Sep 10 2018 at 17:47)</a>:</h4>
<p><span class="emoji emoji-1f44b" title="wave">:wave:</span></p>



<a name="133677314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133677314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133677314">(Sep 10 2018 at 17:47)</a>:</h4>
<p>as a follow up of <a href="https://github.com/rust-lang/rust/issues/53394" target="_blank" title="https://github.com/rust-lang/rust/issues/53394">https://github.com/rust-lang/rust/issues/53394</a></p>



<a name="133677596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133677596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133677596">(Sep 10 2018 at 17:51)</a>:</h4>
<p>yes</p>



<a name="133677725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133677725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133677725">(Sep 10 2018 at 17:53)</a>:</h4>
<p>have some questions but got interrupted now for a bit, will ask in a couple of minutes</p>



<a name="133677854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133677854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133677854">(Sep 10 2018 at 17:55)</a>:</h4>
<p>ok</p>



<a name="133677954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133677954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133677954">(Sep 10 2018 at 17:56)</a>:</h4>
<p>so ... one thing that I was wondering was ...</p>



<a name="133677995"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133677995" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133677995">(Sep 10 2018 at 17:57)</a>:</h4>
<p>I have <code>self</code> which was <code>MirBorrowckCtxt</code>and was using it's <code>move_data</code> member which is of type <code>MoveData</code></p>



<a name="133678051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678051">(Sep 10 2018 at 17:58)</a>:</h4>
<p>but I need to get use the <code>MoveOutStatements</code> thing</p>



<a name="133678074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678074">(Sep 10 2018 at 17:58)</a>:</h4>
<p>which is the thing that implements <code>BitDenotation</code></p>



<a name="133678104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678104">(Sep 10 2018 at 17:59)</a>:</h4>
<p>was wondering how to go from <code>MoveData</code> or from <code>MirBorrowckCtxt</code> to <code>MoveOutStatements</code></p>



<a name="133678113"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678113" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678113">(Sep 10 2018 at 17:59)</a>:</h4>
<p>one of the first things I have on my todo list is to read <a href="https://trello.com/c/rOwLDxgp/4439-review-start-to-document-mir-borrow-check-190" target="_blank" title="https://trello.com/c/rOwLDxgp/4439-review-start-to-document-mir-borrow-check-190">https://trello.com/c/rOwLDxgp/4439-review-start-to-document-mir-borrow-check-190</a></p>



<a name="133678131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678131">(Sep 10 2018 at 17:59)</a>:</h4>
<p>maybe I should read it before continuing with the task :)</p>



<a name="133678529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678529">(Sep 10 2018 at 18:04)</a>:</h4>
<p>hmm</p>



<a name="133678600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678600">(Sep 10 2018 at 18:06)</a>:</h4>
<p>the <code>MoveOutStatements</code> is not available, I don't think, from either of those directly</p>



<a name="133678656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678656">(Sep 10 2018 at 18:06)</a>:</h4>
<p>well</p>



<a name="133678663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678663">(Sep 10 2018 at 18:06)</a>:</h4>
<p>yeah so I think we need to create the <code>BitDenotation</code> but...</p>



<a name="133678704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678704">(Sep 10 2018 at 18:07)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> which was your PR again :)</p>



<a name="133678711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678711">(Sep 10 2018 at 18:07)</a>:</h4>
<p>well nm</p>



<a name="133678788"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678788" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678788">(Sep 10 2018 at 18:08)</a>:</h4>
<p>so I think you can just create a new <code>MovingOutStatements</code> using <a href="https://github.com/rust-lang/rust/blob/d5a448b3f47b22c9cb010198bdcc49d4392b090b/src/librustc_mir/dataflow/impls/mod.rs#L235-L238" target="_blank" title="https://github.com/rust-lang/rust/blob/d5a448b3f47b22c9cb010198bdcc49d4392b090b/src/librustc_mir/dataflow/impls/mod.rs#L235-L238">the <code>new</code> function</a></p>



<a name="133678800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678800">(Sep 10 2018 at 18:08)</a>:</h4>
<p>(that is a pointer to an older version of rustc, when that code still existed)</p>



<a name="133678821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133678821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133678821">(Sep 10 2018 at 18:08)</a>:</h4>
<p>it doesn't really carry any state itself</p>



<a name="133679388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133679388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133679388">(Sep 10 2018 at 18:19)</a>:</h4>
<p>I see</p>



<a name="133680188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680188">(Sep 10 2018 at 18:31)</a>:</h4>
<div class="codehilite"><pre><span></span><span class="k">pub</span><span class="w"> </span><span class="k">struct</span> <span class="nc">MoveDataParamEnv</span><span class="o">&lt;</span><span class="na">&#39;gcx</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">pub</span><span class="p">(</span><span class="k">crate</span><span class="p">)</span><span class="w"> </span><span class="n">move_data</span>: <span class="nc">MoveData</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="k">pub</span><span class="p">(</span><span class="k">crate</span><span class="p">)</span><span class="w"> </span><span class="n">param_env</span>: <span class="nc">ty</span>::<span class="n">ParamEnv</span><span class="o">&lt;</span><span class="na">&#39;gcx</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="133680236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680236">(Sep 10 2018 at 18:32)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> param_env?</p>



<a name="133680245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680245">(Sep 10 2018 at 18:32)</a>:</h4>
<p>you have that floating around somewhere</p>



<a name="133680248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680248">(Sep 10 2018 at 18:32)</a>:</h4>
<p>it stores the where-clauses and things that are in scope</p>



<a name="133680249"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680249" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680249">(Sep 10 2018 at 18:32)</a>:</h4>
<p>just empty</p>



<a name="133680254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680254">(Sep 10 2018 at 18:32)</a>:</h4>
<p>ahh let me checl</p>



<a name="133680264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680264">(Sep 10 2018 at 18:32)</a>:</h4>
<p>e.g. here</p>



<a name="133680265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680265">(Sep 10 2018 at 18:32)</a>:</h4>
<p><a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/struct.MirBorrowckCtxt.html#structfield.param_env" target="_blank" title="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/struct.MirBorrowckCtxt.html#structfield.param_env">https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/struct.MirBorrowckCtxt.html#structfield.param_env</a></p>



<a name="133680303"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680303" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680303">(Sep 10 2018 at 18:33)</a>:</h4>
<p>I had it in my nose :P</p>



<a name="133680310"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680310" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680310">(Sep 10 2018 at 18:33)</a>:</h4>
<p>so close that couldn't find it :P</p>



<a name="133680679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680679">(Sep 10 2018 at 18:38)</a>:</h4>
<p>I have some doubts</p>



<a name="133680685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680685">(Sep 10 2018 at 18:38)</a>:</h4>
<p>what's exactly <code>BitDenotation</code>?</p>



<a name="133680705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680705">(Sep 10 2018 at 18:39)</a>:</h4>
<p><code>BitDenotation</code> is a trait that defines a dataflow analysis</p>



<a name="133680713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680713">(Sep 10 2018 at 18:39)</a>:</h4>
<p>it basically says, for any given mir statement/terminator, what the gen/kill bits are</p>



<a name="133680715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680715">(Sep 10 2018 at 18:39)</a>:</h4>
<p>for some particular analysis</p>



<a name="133680774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680774">(Sep 10 2018 at 18:40)</a>:</h4>
<p>ok</p>



<a name="133680787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680787">(Sep 10 2018 at 18:40)</a>:</h4>
<p>you said that I should do ...</p>



<a name="133680792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680792">(Sep 10 2018 at 18:40)</a>:</h4>
<div class="codehilite"><pre><span></span><span class="k">pub</span><span class="p">(</span><span class="k">crate</span><span class="p">)</span><span class="w"> </span><span class="k">fn</span> <span class="nf">find_values_in_scope</span><span class="o">&lt;</span><span class="n">BD</span>: <span class="nc">BitDenotation</span><span class="o">&gt;</span><span class="p">(</span><span class="w"></span>
<span class="w">    </span><span class="n">bit</span>: <span class="kp">&amp;</span><span class="nc">BD</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="n">mir</span>: <span class="kp">&amp;</span><span class="nc">Mir</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="n">location</span>: <span class="nc">Location</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="p">)</span><span class="w"> </span>-&gt; <span class="nb">Vec</span><span class="o">&lt;</span><span class="n">BD</span>::<span class="n">Value</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
</pre></div>



<a name="133680812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680812">(Sep 10 2018 at 18:40)</a>:</h4>
<p>I was wondering if we needed a closure to be specific about what we are collecting</p>



<a name="133680820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680820">(Sep 10 2018 at 18:40)</a>:</h4>
<p>but I guess I may have all I need in the trait itself?</p>



<a name="133680867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680867">(Sep 10 2018 at 18:41)</a>:</h4>
<p>and unsure what is <code>BD::Value</code>?</p>



<a name="133680875"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680875" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680875">(Sep 10 2018 at 18:41)</a>:</h4>
<p>isn't that <code>Idx</code>?</p>



<a name="133680975"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680975" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680975">(Sep 10 2018 at 18:43)</a>:</h4>
<blockquote>
<p>but I guess I may have all I need in the trait itself?</p>
</blockquote>
<p>yes</p>



<a name="133680998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133680998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133680998">(Sep 10 2018 at 18:43)</a>:</h4>
<p>ok</p>



<a name="133681003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133681003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133681003">(Sep 10 2018 at 18:43)</a>:</h4>
<blockquote>
<p>isn't that <code>Idx</code>?</p>
</blockquote>
<p>yes, I think I meant <code>Idx</code></p>



<a name="133681005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133681005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133681005">(Sep 10 2018 at 18:43)</a>:</h4>
<p>will check a bit better</p>



<a name="133681577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133681577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133681577">(Sep 10 2018 at 18:54)</a>:</h4>
<p>I see</p>



<a name="133681588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133681588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133681588">(Sep 10 2018 at 18:54)</a>:</h4>
<p>the thing is I see the code is kind of equivalent</p>



<a name="133681593"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133681593" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133681593">(Sep 10 2018 at 18:54)</a>:</h4>
<p>but unsure if it's exactly</p>



<a name="133681611"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133681611" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133681611">(Sep 10 2018 at 18:55)</a>:</h4>
<p>for instance ...</p>



<a name="133683822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133683822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133683822">(Sep 10 2018 at 19:33)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/b0297f3043e4ed592c63c0bcc11df3655ec8cf46/src/librustc_mir/borrow_check/error_reporting.rs#L545-L581" target="_blank" title="https://github.com/rust-lang/rust/blob/b0297f3043e4ed592c63c0bcc11df3655ec8cf46/src/librustc_mir/borrow_check/error_reporting.rs#L545-L581">https://github.com/rust-lang/rust/blob/b0297f3043e4ed592c63c0bcc11df3655ec8cf46/src/librustc_mir/borrow_check/error_reporting.rs#L545-L581</a></p>



<a name="133683823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133683823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133683823">(Sep 10 2018 at 19:34)</a>:</h4>
<p>vs</p>



<a name="133683881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133683881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133683881">(Sep 10 2018 at 19:34)</a>:</h4>
<p>I think if we use the generic version, we wouldn't get the <code>continue</code> part of that comment — is that what you mean?</p>



<a name="133683883"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133683883" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133683883">(Sep 10 2018 at 19:34)</a>:</h4>
<p>that said, we can filter the results after the fact if we care</p>



<a name="133683890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133683890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133683890">(Sep 10 2018 at 19:35)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/d5a448b3f47b22c9cb010198bdcc49d4392b090b/src/librustc_mir/dataflow/impls/mod.rs#L503-L529" target="_blank" title="https://github.com/rust-lang/rust/blob/d5a448b3f47b22c9cb010198bdcc49d4392b090b/src/librustc_mir/dataflow/impls/mod.rs#L503-L529">https://github.com/rust-lang/rust/blob/d5a448b3f47b22c9cb010198bdcc49d4392b090b/src/librustc_mir/dataflow/impls/mod.rs#L503-L529</a></p>



<a name="133683902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133683902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133683902">(Sep 10 2018 at 19:35)</a>:</h4>
<p>exactly</p>



<a name="133683904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133683904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133683904">(Sep 10 2018 at 19:35)</a>:</h4>
<p>first the continue part</p>



<a name="133683914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133683914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133683914">(Sep 10 2018 at 19:35)</a>:</h4>
<p>and second if it's exactly equivalent</p>



<a name="133684072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684072">(Sep 10 2018 at 19:39)</a>:</h4>
<p>I think apart from that it should be</p>



<a name="133684077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684077">(Sep 10 2018 at 19:39)</a>:</h4>
<p>well, the current code is not handling the return value of a call correctly</p>



<a name="133684084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684084">(Sep 10 2018 at 19:39)</a>:</h4>
<p>which.. might be observable, if we make the right example</p>



<a name="133684131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684131">(Sep 10 2018 at 19:40)</a>:</h4>
<p>but I'm not sure</p>



<a name="133684137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684137">(Sep 10 2018 at 19:40)</a>:</h4>
<p>the way that MIR construction works, it might not be visible</p>



<a name="133684183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684183">(Sep 10 2018 at 19:41)</a>:</h4>
<p>ok</p>



<a name="133684188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684188">(Sep 10 2018 at 19:41)</a>:</h4>
<p>gonna just change things and see what happens I guess :)</p>



<a name="133684367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684367">(Sep 10 2018 at 19:45)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> ok :) this does seem like a good way to get to learn that system</p>



<a name="133684372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684372">(Sep 10 2018 at 19:45)</a>:</h4>
<p>for now I think you can ignore the "call return value" thing</p>



<a name="133684374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684374">(Sep 10 2018 at 19:45)</a>:</h4>
<p>we can return to that later :P</p>



<a name="133684437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684437">(Sep 10 2018 at 19:46)</a>:</h4>
<p>ok</p>



<a name="133684442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684442">(Sep 10 2018 at 19:46)</a>:</h4>
<p>another thing I don't see is where do I use the <code>MovePathIndex</code></p>



<a name="133684475"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684475" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684475">(Sep 10 2018 at 19:47)</a>:</h4>
<p>given the way I build a <code>MovingOutStatements</code> and <code>find_values_in_scope</code> signature I don't need it, but that per se sounds strange</p>



<a name="133684490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684490">(Sep 10 2018 at 19:48)</a>:</h4>
<p>I think the depth-first-search code would probably be agnostic about that</p>



<a name="133684536"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684536" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684536">(Sep 10 2018 at 19:48)</a>:</h4>
<p>that is, it would just talk about <code>BD::Idx</code>values and not care about anything else</p>



<a name="133684923"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133684923" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133684923">(Sep 10 2018 at 19:55)</a>:</h4>
<p>is there any good example of usage of the BitDenotation API that you remember?</p>



<a name="133685329"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685329" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685329">(Sep 10 2018 at 20:02)</a>:</h4>
<p>uh</p>



<a name="133685334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685334">(Sep 10 2018 at 20:02)</a>:</h4>
<p>well, there's the dataflow code :)</p>



<a name="133685340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685340">(Sep 10 2018 at 20:02)</a>:</h4>
<p>it's not the most well documented API in the planet I imagine</p>



<a name="133685374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685374">(Sep 10 2018 at 20:03)</a>:</h4>
<p>Hmm, so i'm looking over the details</p>



<a name="133685394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685394">(Sep 10 2018 at 20:03)</a>:</h4>
<p>the real question, <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span>, is how important this exercise is — I was feeling like maybe we want to avoid repeating the same logic over and over again</p>



<a name="133685399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685399">(Sep 10 2018 at 20:03)</a>:</h4>
<p>and this is a way to do that</p>



<a name="133685406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685406">(Sep 10 2018 at 20:03)</a>:</h4>
<p>but otoh are there any other places we do this sort of thing?</p>



<a name="133685416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685416">(Sep 10 2018 at 20:03)</a>:</h4>
<p>I'm having minor misgivings</p>



<a name="133685419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685419">(Sep 10 2018 at 20:03)</a>:</h4>
<p>particualrly now that you landed your first PR</p>



<a name="133685422"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685422" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685422">(Sep 10 2018 at 20:03)</a>:</h4>
<p>starting to wonder if it makes more sense to focus on something else</p>



<a name="133685462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685462">(Sep 10 2018 at 20:04)</a>:</h4>
<p>though I'd have to find that thing :)</p>



<a name="133685468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685468">(Sep 10 2018 at 20:04)</a>:</h4>
<p>of course, it seems good to have spent some time reading into the code, and maybe it's worth it to push a bit more</p>



<a name="133685475"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685475" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685475">(Sep 10 2018 at 20:04)</a>:</h4>
<p>I can sort of send you various bits of code that use the API, but let's talk a sec about this at a higher level</p>



<a name="133685503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685503">(Sep 10 2018 at 20:05)</a>:</h4>
<p>one thing in particular...</p>



<a name="133685516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685516">(Sep 10 2018 at 20:05)</a>:</h4>
<p>ah right</p>



<a name="133685530"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685530" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685530">(Sep 10 2018 at 20:05)</a>:</h4>
<p>so we are not interested in <em>all</em> move outs</p>



<a name="133685536"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685536" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685536">(Sep 10 2018 at 20:05)</a>:</h4>
<p>but only move outs from certain paths, right?</p>



<a name="133685728"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685728" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685728">(Sep 10 2018 at 20:09)</a>:</h4>
<p>yes</p>



<a name="133685801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685801">(Sep 10 2018 at 20:10)</a>:</h4>
<p>about if continuing or not don't worry if stopping is the thing you consider the best</p>



<a name="133685809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685809">(Sep 10 2018 at 20:10)</a>:</h4>
<p>because I have some stuff to read anyway</p>



<a name="133685815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685815">(Sep 10 2018 at 20:10)</a>:</h4>
<p>in particular, wanted to go over this <a href="https://github.com/rust-lang-nursery/rustc-guide/pull/190" target="_blank" title="https://github.com/rust-lang-nursery/rustc-guide/pull/190">https://github.com/rust-lang-nursery/rustc-guide/pull/190</a></p>



<a name="133685819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685819">(Sep 10 2018 at 20:10)</a>:</h4>
<p>but I could also continue</p>



<a name="133685824"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685824" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685824">(Sep 10 2018 at 20:10)</a>:</h4>
<p>whatever makes more sense to you :)</p>



<a name="133685849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133685849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133685849">(Sep 10 2018 at 20:11)</a>:</h4>
<p>is not a thing that I have been working on this for years, I've pasted the old code some days ago and I'm kind of starting with it</p>



<a name="133686231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686231">(Sep 10 2018 at 20:18)</a>:</h4>
<p>it seems like it can't be the highest priority task; the code works now and we don't have another consumer now for this more generic approach. I'm also not entirely convinced that the <code>BitDenotation</code> trait setup is the most clear :)</p>



<a name="133686249"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686249" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686249">(Sep 10 2018 at 20:18)</a>:</h4>
<p>done :)</p>



<a name="133686256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686256">(Sep 10 2018 at 20:18)</a>:</h4>
<p>gonna read all the beautiful stuff you have written :)</p>



<a name="133686268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686268">(Sep 10 2018 at 20:19)</a>:</h4>
<p>heh, it's not that much</p>



<a name="133686273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686273">(Sep 10 2018 at 20:19)</a>:</h4>
<p>but please do read</p>



<a name="133686279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686279">(Sep 10 2018 at 20:19)</a>:</h4>
<p>I would like to write more...</p>



<a name="133686285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686285">(Sep 10 2018 at 20:19)</a>:</h4>
<p>if there's any other task where I can help let me know</p>



<a name="133686286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686286">(Sep 10 2018 at 20:19)</a>:</h4>
<p>actually, I wanted to document some of the <code>BitDenotation</code> stuff</p>



<a name="133686294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686294">(Sep 10 2018 at 20:19)</a>:</h4>
<p>yeah, anyway I have the whole guide to read :)</p>



<a name="133686395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686395">(Sep 10 2018 at 20:20)</a>:</h4>
<p>one option might be to look at <a href="https://github.com/rust-lang/rust/issues/53114" target="_blank" title="https://github.com/rust-lang/rust/issues/53114">https://github.com/rust-lang/rust/issues/53114</a>; this would involve poking at MIR construction</p>



<a name="133686418"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686418" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686418">(Sep 10 2018 at 20:21)</a>:</h4>
<p>but I think we have to narrow down on the precise steps we want to take there</p>



<a name="133686565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686565">(Sep 10 2018 at 20:23)</a>:</h4>
<p>actually, probably the work that <span class="user-mention" data-user-id="116118">@Matthew Jasper</span> is doing on <code>_</code> patterns should land first</p>



<a name="133686573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686573">(Sep 10 2018 at 20:23)</a>:</h4>
<p>so yeah I guess that they are on this, basically</p>



<a name="133686581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686581">(Sep 10 2018 at 20:23)</a>:</h4>
<p>but not the unsafe fix part</p>



<a name="133686896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation/near/133686896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/impl-dfs-for-bitdenotation.html#133686896">(Sep 10 2018 at 20:29)</a>:</h4>
<p>that is, <a href="https://github.com/rust-lang/rust/issues/54003" target="_blank" title="https://github.com/rust-lang/rust/issues/54003">https://github.com/rust-lang/rust/issues/54003</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>